export const imageUrl = import.meta.env.VITE_IMAGE_URL;
console.log(imageUrl);

// 格式化图片路径
export const formatImageUrl = (url: string) => {
  return imageUrl + url;
};

export const formatDateTime = (dateStr: string) => {
  if (!dateStr) return "";
  const date = new Date(dateStr);
  return date.toLocaleString("zh-CN", {
    year: "numeric",
    month: "2-digit",
    day: "2-digit",
    hour: "2-digit",
    minute: "2-digit",
    second: "2-digit",
    hour12: false
  });
};

/**
 * 对手机号进行掩码处理
 * @param phone 手机号
 * @returns 掩码后的手机号，如：138****5678
 */
export const maskPhone = (phone: string | null | undefined): string => {
  if (!phone) return "-";

  // 确保是字符串格式
  const phoneStr = String(phone);

  // 校验手机号格式
  if (!/^1[3-9]\d{9}$/.test(phoneStr)) {
    return phoneStr;
  }

  // 保留前3位和后4位，中间用星号替换
  return phoneStr.replace(/^(\d{3})(\d{4})(\d{4})$/, "$1****$3");
};

/**
 * 对邮箱进行掩码处理
 * @param email 邮箱
 * @returns 掩码后的邮箱，如：exa****@domain.com
 */
export const maskEmail = (email: string | null | undefined): string => {
  if (!email) return "-";

  // 确保是字符串格式
  const emailStr = String(email);

  // 校验邮箱格式
  if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(emailStr)) {
    return emailStr;
  }

  // 分离邮箱的用户名和域名部分
  const [username, domain] = emailStr.split("@");

  // 如果用户名长度小于或等于3，只显示第一个字符加星号
  if (username.length <= 3) {
    return `${username.charAt(0)}**@${domain}`;
  }

  // 否则保留前三个字符，其余用星号替代
  return `${username.substring(0, 3)}${"*".repeat(username.length - 3)}@${domain}`;
};
